1. Field of the Invention
The present invention relates to the field of portable electronic devices such as personal digital assistants or palmtop computer systems. Specifically, the present invention relates to a method and system for allowing a background task to run on a portable electronic device facilitating telephony functionality on the portable electronic device.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the more recent categories of computer systems is the portable or “palmtop” computer system, or personal digital assistant (PDA). A palmtop computer system is a computer that is small enough to be held in the hand of a user and is thus “palm-sized.” As a result, palmtops are readily carried about in a briefcase or purse, and some palmtops are compact enough to fit into a person's pocket. By virtue of their size, palmtop computer systems are also lightweight and so are exceptionally portable and convenient.
The emergence of the cellular phone technology in the last few years has revolutionized the telecommunications industry. Where in the past telephones were largely confined to homes, offices, and other stationary structures, cellular phone technology has made it possible for phones to be truly portable and exist nearly anywhere there are people.
Recently, the technology behind both palmtop computer systems and cellular phones has advanced to the point where it is proposed to integrate cellular phone capabilities into a palmtop computer system, while not increasing the size of the palmtop device. However, the operating systems that control some palmtop computer systems (for example, Palm computer systems) have not been designed especially with cellular phone technology in mind. As a result, difficulty arises for answering incoming calls when palmtop devices are in certain modes.
Referring to FIG. 1, one prior art process 100 for answering an incoming phone call on a telephony enabled palmtop computer system is shown. In step 105, an incoming phone call is received by the operating system. The operating system then determines in step 110 whether or not the graphical user interface is busy, e.g. waiting for information from a user. In the event that the graphical user interface is not busy, the incoming phone call interrupt activates causing the device to ring (step 115) and the user may answer the phone call (step 120). However, when the graphical user interface is busy, the incoming call may become ignored thereby preventing the phone call from being answered (step 125).
The graphical user interface of a palmtop computer systems is partially controlled by the operating system. While the operating system is classified as multitasking, all user interfacing is done under one “thread.” As a result, on some occasions, an application may block the operating system from running any other applications. This occurs when the application at use requires a user input through a graphical user interface. In this case, the operating system will not run any other applications until the user has entered an input. The application at use may also block the operating system from running other applications if the application is not processing system events in a timely manner. It would be advantageous to provide an electronic device that is portable and integrates cellular phone technology with portable computer system technology and that facilitates telephony functions regardless of the software state of the portable computer system.